<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>await的基本用法</title>
</head>
<body>
    
</body>
<script>
    function demo(name){
        return new Promise((resolve, reject)=>{
            setTimeout(()=>{
                resolve(name)
                console.log(name);
            }, 1000)
        })  
    }

    demo('zs')
    // await只能在async函数中调用，否则会报错，
    // await后面跟着的必须是一个Promise对象

    async function demo2(){
        let name = await('jack') // 注意：'jack'不是Promise，这里不会真正异步暂停
        console.log('hello', name);
    }
    demo2()

    /*
     * 执行过程：
     * 首先调用demo2函数
     * 遇到await表示代码在此暂停
     * 不再向下执行，等待右侧表达式的结果（如果是Promise）
     * 拿到结果后继续执行
     */
</script>
</html>